package com.xgure.mapper;

import com.xgure.annotation.Autofill;
import com.xgure.enumerator.AutofillEnum;
import com.xgure.enumerator.RoleEnum;
import com.xgure.pojo.Employee;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface EmployeeMapper {

    /**
     * 根据传入的参数查询员工
     *
     */
    List<Employee> getEmployeeByInfo(Employee employee);

    /**
     * 判断注册是否合法
     *
     */
    List<Employee> validRegister(Employee employee);

    /**
     * 员工注册
     *
     */
    @Autofill(AutofillEnum.INSERT)
    void register(Employee employee);

    /**
     * 员工信息更新
     *
     */
    @Autofill(AutofillEnum.UPDATE)
    Long update(Employee employee);

    /**
     * 根据员工姓名查询员工
     *
     * @return 员工信息
     */
    Employee getEmployeeByName(@Param("name") String name);

    /**
     * 新建店铺后的操作，记录用户的店铺id并且将其职位设置成老板
     *
     */
    @Autofill(AutofillEnum.UPDATE)
    void setShopInfo(@Param("userId") Long userId, @Param("id") Long id, @Param("role") RoleEnum role);
}
